package cn.iocoder.yudao.module.xhyy.dal.mysql.notice;

import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.module.xhyy.controller.admin.notice.vo.NoticeXHPageReqVO;
import cn.iocoder.yudao.module.xhyy.controller.app.notice.vo.AppNoticePageReqVO;
import cn.iocoder.yudao.module.xhyy.dal.dataobject.notice.NoticeXHDO;
import org.apache.ibatis.annotations.Mapper;

/**
 * 通知 Mapper
 *
 * @author duanxinli
 */
@Mapper
public interface NoticeXHMapper extends BaseMapperX<NoticeXHDO> {

    default PageResult<NoticeXHDO> selectPage(NoticeXHPageReqVO reqVO) {
        return selectPage(reqVO, new LambdaQueryWrapperX<NoticeXHDO>()
                .eqIfPresent(NoticeXHDO::getTitle, reqVO.getTitle())
                .orderByDesc(NoticeXHDO::getSort));
    }
    default PageResult<NoticeXHDO> selectPage(AppNoticePageReqVO reqVO) {
        return selectPage(reqVO, new LambdaQueryWrapperX<NoticeXHDO>()
                .eqIfPresent(NoticeXHDO::getTitle, reqVO.getTitle())
                .eqIfPresent(NoticeXHDO::getDown, 1)
                .orderByDesc(NoticeXHDO::getId));
    }
}